package communication.common.business.heartbeat;

import lombok.*;

import java.io.Serializable;

/**
 *  心跳包
 * @author mac
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class HeartBeat implements Serializable {

    /**
     * 通信序号，从0开始,达到999后下一个序号又从0开始
     */
    private int seq;

    /**
     * 下一次心跳发送的间隔周期，单位毫秒
     */
    private long interval;

    /**
     * 心跳包发送的时间戳
     */
    private long sendTime;

    /**
     * 心跳包接收的时间错
     */
    private long receivedTime;


    public static HeartBeat generateHeartBeat(int seq,long interval  ){
        // 获取当前时间
        long now =  System.currentTimeMillis();

        return HeartBeat.builder()
                .seq(seq)
                .interval(interval)
                .sendTime(now)
                .build();
    }


}
